import http from '@src/util/http';

const prefix = '/api/elasticsearch/outside/es/contract';
const headUrl = '/api/customer/outside/contract';

/**
 * 获取合同字段
 * @returns Promise
 */
export function contractFieldList(params: {} | undefined): Promise<any> {
  return http.get(`${headUrl}/field/list`, params);
}

/**
 * 保存合同字段
 * @returns Promise
 */
export function contractFieldSave(params: {} | undefined): Promise<any> {
  return http.post(`${headUrl}/field/save`, params);
}

/**
 * 获取合同列表
 * @param params
 * @returns {*}
 */
export function getContractField(params: {} | undefined) {
  return http.post(`${prefix}/list`, params);
}

/**
 * 获取数据状态统计
 * @param params
 * @returns {*}
 */
export function getStatusCount(params: {} | undefined) {
  return http.post(`${prefix}/count`, params);
}

/**
 * 保存合同
 * @param params
 */
export function saveContractList(params: {} | undefined) {
  return http.post(`${headUrl}/save`, params);
}

/**
 * 修改合同
 * @param params
 */
export function updateContract(params: {} | undefined) {
  return http.post(`${headUrl}/update`, params);
}
/**
 * 流程设置保存
 *
 * @param {string} params
 */
export function saveProcess(params: {} | undefined) {
  return http.post('/setting/saveProcess', params);
}

/**
 * 删除合同
 * @param params
 */
export function deleteContract(params: number | string | undefined) {
  return http.post(`${headUrl}/delete`, params);
}

/**
 * 关闭合同
 * @param params
 */
export function closeContract(params: number | string | undefined) {
  return http.get(`${headUrl}/close`, params);
}

/**
 * @description 获取客户产品关联和未关联数据
 * @param {Object} params -- 参数对象
 * @param {String} params.pageSize -- 页码大小
 * @param {String} params.pageNum -- 分页数
 * @param {String} params.keyword -- 关键字
 * @param {String} params.customerId -- 客户id
 */
export function getCustomerLinkProduct(params: {} | undefined) {
  return http.post(`/api/elasticsearch/outside/es/product/pass/search`, params);
}

/**
 * 合同权限
 */
export function checkAuth(params: number | string | undefined) {
  return http.get(`${headUrl}/checkAuth`, params);
}

/**
 * 动态信息
 */
export function getRecord(params: number | string | undefined) {
  return http.get(`${headUrl}/getRecord`, params);
}

/**
 * 合同详情
 */
export function getContractDetail(params: number | string | undefined) {
  return http.get(`${headUrl}/getDetail`, params);
}


/**
 * 获取系统配置信息
 * @param params
 * @returns {*}
 */
 export function getTenantConfig(params: {}){
  return http.post(`/api/customer/outside/tenant/getTenantConfig`, params);
}

/**
 * 计划任务下拉框数据
 */
export function getTaskTypeList(params: {}) {
  return http.get(`/api/task/outside/pc/task/getTaskTypeList`, params);
}

/**
 * 通用日程 - 列表视图
 */
export function getCalendarListView(params: {}) {
  return http.post(`${headUrl}/calendar/getCalendarListView`, params);
}

/**
 * 通用日程 - 日历视图
 */
export function getCalendarShowView(params: {}) {
  return http.post(`${headUrl}/calendar/getCalendarShowView`, params);
}

/**
 * 
 * @param params 
 * 通用日程 - 统计
 */
export function getStatisticalData(params: {}) {
  return http.get(`${headUrl}/calendar/getStatisticalData`, params);
}

/**
 * 计划任务 - 日历视图
 */
 export function planTaskShowView(params: {}) {
  return http.post(`${headUrl}/planTask/planTaskShowView`, params);
}

/**
 * 计划任务 - 列表视图
 */
export function planTaskListView(params: {}) {
  // return http.post(`${headUrl}/planTask/planTaskListView`, params);
  return http.post(`/api/task/outside/task/list/plantask/list`, params)
}

/**
 * 
 * @param params 历史工单
 */
export function getContractTask(params: {}) {
  return http.get(`${headUrl}/getContractTask`, params)
}


/**
 * 新建，编辑 保存合同模板
 */
export function saveContractTemplate(params: {}) {
  return http.post(`${headUrl}/template/save`, params);
}

/**
 * 合同模板列表
 */
export function getContractTemplateList(params: {}) {
  return http.get(`${headUrl}/template/list`, params);
}

/**
 * 合同高级设置详情
 * @param params 
 * @returns 
 */
export function getContractTemplateDetail(params: {}) {
  return http.get(`${headUrl}/template/detail`, params);
}

/**
 * 修改合同模板状态
 * @param params 
 * @returns 
 */
export function getContractTemplateStatus(params: {}) {
  return http.get(`${headUrl}/template/status`, params);
}

/**
 * 删除合同模板
 */
export function deleteContractTemplate(params: {}) {
  return http.get(`${headUrl}/template/delete`, params);
}

/**
 * 合同模板排序
 */
export function contractTemplateSort(params: {}) {
  return http.post(`${headUrl}/template/order`, params)
}


/**
 * 新建，编辑 保存合同模板
 */
export function saveCopyContractTemplate(params: {}) {
  return http.post(`${headUrl}/template/copy`, params);
}

export function getSysContractTemplate(params: {}) {
  return http.get(`${headUrl}/template/getSysTemplate`, params);
}

